1. Field of the Invention
The present invention relates to an apparatus and method for upstream transmission of variable bit rate traffic in a Hybrid Fiber Coaxial (HFC) network, and an apparatus and method for resource allocation; and, more particularly, to an apparatus and method for upstream transmission of variable bit rate traffic in an HFC network, and an apparatus and method for resource allocation, which prevent unnecessary resource allocation due to a Service identification (SID) packets intermittently generated in a mute section and more efficiently allocate resources for various sizes of variable bit rate packets generated in an assonance section, by notifying a network device of an audio activity of Voice over Internet Protocol (VoIP) audio codec detected at a subscriber device side.
This work was partly supported by the Information Technology (IT) research and development program of the Korean Ministry of Information and Communication (MIC) and/or the Korean Institute for Information Technology Advancement (IITA) [2006-S019-01, “The Development of Digital Cable Transmission and Receive System for 1 Gbps Downstream”].
2. Description of Related Art
In general, a variable bit rate Voice over Internet Protocol (VoIP) service refers to a technique that generates no packet in a mute section by using assonance/mute patterns of voice. In order to provide this variable bit rate VoIP service, a Voice Activity Detector (VAD) is built in a codec, or in recent years, a codec that generates constant patterns in a mute section and offers two or more transmission rates in an assonance section is used. The variable bit rate VoIP service used herein includes both types of codecs set forth above.
Meanwhile, a Hybrid Fiber Coaxial (HFC) network serves to connect a broadcasting company and a fiber node via an optical fiber cable, and connect other fiber nodes and subscribers via a coaxial cable. In such an HFC network, a network device manages upstream/downstream transmission resources, and particularly should conform to the dynamic reservation Media Access Control (MAC) protocol in case of upstream transmission from distributed subscriber devices to the network device.
By the way, in case of upstream packet transmission in the variable bit rate VoIP service, since the network device does not directly know the occurrence of traffic from the distributed subscriber devices, it has a difficulty in allocating resources for upstream transmission.
Hereinafter, the configuration of a system for providing a VoIP service in a conventional HFC network will be described with reference to FIG. 1.
FIG. 1 is a diagram showing the configuration of a system for providing a VoIP service in a conventional HFC network.
As shown in FIG. 1, the conventional HFC network includes a network device 110 that plays the role of a central controller in terms of resource management, and distributed subscriber devices 120a, 120b, 120c, and 120d for transmitting/receiving packets under the control of the network device 110.
In this structure, each of the subscriber devices 120a, 120b, 120c, and 120d is provided with a VoIP DSP block 130 for digitalizing and compressing an analog voice incoming from a voice generator, and a transmission queue block 140 for storing packets generated by the VoIP DSP block 130. The voice packets stored in the transmission queue block 140 are then sent to the network device 110 by a method to be described later.
That is, Data over Cable Service Interface Specification (DOCSIS) that is a standard for providing data service in the HFC network that is a wideband wired access network describes Unsolicited Grant Service (UGS) and UGS with Activity Detection (UGS/AD) schemes for VoIP service.
First, the UGS scheme is a scheme in which a subscriber device notifies a network device of resources necessary for transmitting a packektization period value of a VoIP codec and one packet when setting-up a VoIP call so that the network device allocates a resource capable of transmitting a VoIP packet every period and the subscriber device transmits the VoIP packet through the allocated resource.
In the flow that receives the service of this UGS scheme, when transmitting a packet using a given resource, it can contain an extended header called Unsolicited Grant Synchronization Header (UGSH) and transfer, through this, information on the UGS service flow state from the subscriber device to the network device. Further, the subscriber device can request an additional resource-grant to the network device by setting a Queue Indicator (QI) bit to 1.
Meanwhile, the UGS/AD scheme is described in U.S. Pat. No. 6,621,812 issued to Cisco Technology Inc., which is adopted as the standard and effectively employs characteristics of a packet generated from a codec with a built-in VAD as follows.
That is, the network device judges whether or not the subscriber device uses the VAD codec at the time of VoIP call set-up. If the VAD codec is used, the network device first allocates a resource capable of transmitting a packet generated from the VAD codec to the subscriber device whenever packet is generated, and the subscriber device transmits the packet by using the allocated resource.
At this time, when the VAD codec of the subscriber device recognizes mute and generates no packet, the subscriber device does not use the allocated resource. If the network device recognizes this, it suspends the resource allocation. And the network device polls the target subscriber device by periods agreed at the time of call set-up. Here, the polling means a periodic resource allocation for allowing the subscriber device to transmit a small packet, wherein the size of resource to be allocated is very small, compared with the VoIP packet transmission resource.
Meanwhile, when the subscriber device recognizes that there is a packet in a queue with the polling resource being not used in a mute section, the subscriber device notifies the network device that it is transited to an assonance section by using a first polling resource allocated after recognition. Then, the network device suspends the polling and periodically allocates a resource capable of again transmitting the voice packet. At this time, the network device additionally allocates opportunities of transmission once or twice in order to minimize packet transmission delay. This additional resource allocation is to quickly empty a transmission queue of the subscriber device. Although the subscriber device does not use an additional resource allocation, the network device continuously performs a periodic resource allocation.
On the other hand, the DOCSIS standard allows the use of the UGSH extended header, as in UGS/AD or UGS. At this time, a QI bit has the same function as in the USG and an AG field is set to 0 when it is transited from assonance to mute. As for an event of transiting from assonance to mute, in case a timer is operated at an MAC layer and an additional packet is not generated until the timer expires, a transition event can be generated. Further, in case of transiting from mute to assonance, a corresponding event can be generated by recognizing the occurrence of packet.
By the way, the difference is that the subscriber device transmits a resource request message with a polling resource when transiting from mute to assonance and the network device does not consider the size of the resource request message. Namely, the network device resumes the UGS service by receiving the resource request message merely. Further, the number of resources being additionally allocated can be determined by the network device independently or by referring to an AG field value of the UGSH received after resumption of service. The latter case, the subscriber device can specify the resource allocation number currently necessary.
FIG. 2 is a flowchart describing the flow of signals in an example of a packet transmission/reception process of the UGS-AD scheme according to the conventional DOCSIS standard, and particularly is a flowchart describing of the flow of signals in an example of a process for upstream-transmitting a VoIP packet in the conventional USG/AD scheme.
First, the subscriber device 205 and the network device 210 exchange all parameters related to VoIP call through Dynamic Service Addition (DSA) request transmission/reception (215), DSA response transmission/reception (220), and DSA confirmation message exchange (225) for VoIP call set-up. Through the above procedure, the subscriber device 205 sets-up a call by exchanging the period and size of resource allocation of the network device 210 and the period of polling being executed when transiting to mute.
If this call set-up procedure has been finished, the network device 210 allocates UG (203a), and the subscriber device 205 confirming the UG allocation sends a voice packet stored in a transmission queue (235a) to the network device 210 by using the UG (240a), and this process is repeated once again (230b, 235b, and 240b).
Thereafter, the network device 210 continuously allocates UG (230c), and when the subscriber device 205 confirms that its own transmission queue is empty (245a), it does not use UG (250). Then, the network device 210 suspends the UG allocation and polls the subscriber device 205 (260a). And, the subscriber device 205 that has received polling does not use a polling resource since the transmission queue (245b) is empty (265). Then, the network device 210 that has confirmed the unused polling resource again polls the subscriber device (260b) and the subscriber device 205 that has received polling confirms that a voice packet is stored in its own transmission queue (270) and thereafter transmits the resource request message through the polling resource (275).
The network device 210 that has received this resource request message allocates two UGs to the subscriber device 210 (280). Then, the subscriber device 205 transmits the voice packet (270) previously stored and another voice packet (285) that is generated after that and stored in the transmission queue to the network device 210 by using the allocated UG resource (290).
The network device 210 that has received the voice packet from the subscriber device 205 continuously allocates UG (295), and the above-described procedures are repeated.
FIG. 3 is a view illustrating an example of the structure of a voice packet transmitted in a conventional UGS-AD scheme.
As shown in FIG. 3, a voice packet 300 transmitted in the UGS-AD scheme includes a DOCSIS MAC header 305 and voice data 310. Further, although not shown in the drawing, the voice data 310 has the form of being encapsulated in an Ethernet header, an IP header, and an RTP header. And, the DOCSIS MAC header 305 contains a Frame Control (FC) field (where ‘0x01’ is a value denoting a data frame) 315 indicating the type of DOCSIS frames, an Extended Header Length (EHDR LEN) field 320, a LEN (frame length) field 325, an EHDR field 330, and a Header Check Sequence (HCS) field 335.
FIG. 4 is a view illustrating an example of the structure of a resource request message transmitted in a conventional UGS/AD scheme.
As shown in FIG. 4, a resource request message 400 transmitted in the UGS/AD scheme includes contains an FC field (where ‘0xc4’ is a value representing a resource request) 410 representing the type of DOCSIS frames, a request (REQ) field 420 indicating an amount of resource requested, an Service identification (SID) field 430 denoting a subscriber device that transmits a resource request message, and an HCS field 440. The REQ field 420 is a value that is not used in the UGS/AD scheme.
FIG. 5 is a view for explaining packet generation patterns of a codec that intermittently generates packets in a mute section and the problems that may occur when VoIP service is provided in a UGS/AD scheme.
Here, the codec has the function that suppresses the packet generation in a mute section of voice by incorporating a voice activator therein. The packet generated by the codec shows different patterns in assonance and mute sections. That is, in the assonance section, voice packets 520a, 520b and 520c of fixed length are periodically generated at packetization intervals. At this time, the network device allocates resources 525a, 525b, and 525c at predetermined packetization intervals to transmit the voice packets 520a, 520b and 520c. The size of the resource allocation corresponds to a size including a protocol overheader (DOCSIS MAC header, Ethernet header and CRC, IP header, UDP header, and RTP header) and a physical layer overheader of the voice packets.
Further, the codec generates an SID packet 530 carrying background noise information used for improving the voice quality at the start point of an initial packetization interval of the mute section when transiting from the assonance section to the mute section. Here, the SID packet 530 is smaller than that each of the voice packets 520a, 520b and 520c, and the SID packet 555 of the same size is intermittently generated in the mute section.
By the way, the network device cannot recognize the SID packet generated when transiting from the assonance section to the mute section, and thus, it allocates a resource 535 having the same size as the voice packets 525a, 525b and 525c. Then, the subscriber device recognizing the allocation of the resource 535 transmits the SID packet stored in the transmission queue to the network device. At this time, the AG filed value of EHDR is set to 1, like the voice packets 520a, 520b and 520c. And, since the SID packet 530 is very smaller than the voice packet, the unused resource 540 becomes larger than a resource 545 to be actually used.
Further, the network device has received the packet through its own-allocated resource 535, and therefore, it continuously allocates a resource 550. However, since the codec of the subscriber device is already transited to the mute section, it may generate neither the voice packet nor the SID packet. Thus, the resource 550 allocated after transiting to the mute section is not used by the subscriber device, and the subscriber device recognizes the state of the codec to be mute.
Meanwhile, the network device that has recognized that the resource 550 allocated to the subscriber device is not used suspends the resource allocation and starts polling 560 in conformation with the packetization interval of the codec. At this time, when a new SID packet 555 is generated from the codec and already stored in the transmission queue, the subscriber device judges the state of the codec to be transited from mute to assonance based on the SID packet 555, and sends a resource request message to transmit the SID packet 555.
Then, the network device that has received the resource request message through the polling resource 560 recognizes that the codec of the subscriber device is transited from mute to assonance, and resumes a periodic resource allocation 565a. At this time, when transiting from mute to assonance, an additional resource 565b may be allocated and the subscriber device transmits the SID packet 555 by using the allocated resource 565a, wherein a used resource 570 becomes less than an unused resource 575. In addition, the additionally allocated resource 565b is not used because there is no packet to be transmitted. At this time, for the additionally allocated resource 565b, the network device does not recognize the transition to mute although the resource is not used.
Further, as the network device transits from mute to assonance, when the network device accepting the SID packet through the allocated resource 565 receives the SID packet 555 through the resource allocated in the “565” process, it again performs the resource allocation 580 at the start point of a next packetization interval. At this time, since the codec is in the mute state, the video packet as well as the SID packet may not be generated, and thus, the subscriber device does not use the already allocated resource 580 and recognizes the transition from assonance to mute based on the above.
Then, the network device that again recognizes the transition to mute suspends the resource allocation and resumes polling 590. But, the codec may store the voice packet 585a in the transmission queue by transiting from mute to assonance before the polling 590, and thereafter may periodically generate the voice packet 585b. The subscriber device transmits a resource request message for the already generated packet 585a by using the polling 590 and the network device recognizes the transition from mute to assonance from the resource request message received through the polling 590 and resumes the resource allocation. At this time, the network device may allocate an additional resource 595b. 
As described above, the conventional method has the problem in that the unnecessary resources 550, 565a, 565b, and 580 are allocated due to the SID packet generated in the mute section.
Hereinafter, the packet generation patterns of a codec that supports the variable bit rate and the problem that may occur when the VoIP service is provided in the UGS/AD scheme will be discussed.
FIG. 6 is a view for explaining packet generation patterns of a codec that supports a variable bit rate and the problem that may occur when a VoIP service is provided in a UGS/AD scheme.
Here, the codec supports a variable bit rate, and particularly supports three transmission rates with different packet sizes in generating packets at predetermined packetization intervals. That is, in the following description, the codec, which is a codec known as EVRC, supports a transmission rate of 1 605a and 605b, a transmission rate of ½ 610, and a transmission rate ⅛ 615. Here, the transmission rates of 1 605a and 605b and the transmission rate of ½ 610 are the ones that support packets generated in the assonance section, and the transmission rate of ⅛ 615 is the one that supports packets generated in the mute section. Differently from the codec described referring to FIG. 5 above, this codec generates a predetermined size of packets at predetermined packetization intervals in the mute section and supports two transmission rates in the assonance section.
That is to say, in the codec that supports the variable bit rate, voice packets with three fixed lengths are generated at the packetization intervals and then transmitted at the three transmission rates. First, voice packets 625a and 625b with the longest length are periodically generated in the transmission rate of 1 section 605a. To service this in the conventional UGS/AD scheme, resources 630a/b, 640a/b/c, 660a/b/c, and 680a/b that can accept the voice packets 625a and 625b generated at the transmission rate of 1 should be periodically allocated. Namely, in the example shown in FIG. 6, voice packets 635a/b/c can be transmitted at predetermined packetization intervals after transiting from the transmission rate of 1 to the transmission rate of ½.
By the way, in the conventional UGS/AD scheme, there is no method capable of notifying that the codec is transited from the transmission rate of 1 605a to the transmission rate of ½ 610. In addition, since the network device can allocate only a predetermined size of sources in the assonance section, it allocates resources 640a/b/c with the same size as the transmission rate of 1 605a. 
However, the subscriber device uses parts 650a/b/c of the allocated resources 640a/b/c and wastes remaining resources 645a/b/c. This waste becomes even larger when the transmission rate of ½ section 610 ends and then the transmission rate ⅛ section 615 starts. That is, voice packets 655a/b/c with a minimum size are periodically generated in the transmission rate of ⅛ section 615. At this time, the network device will allocate resources with the same size as the resources 660a/b/c allocated in the transmission rate of 1 section, and the subscriber device uses only parts 660a/b/c of the allocated resources 670a/b/c and wastes remaining resources 665a/b/c. Like this, in case of the codec that supports the variable bit rate provides service in the UGS/AD scheme, since it periodically allocates a fixed size of resources, the resource waste becomes serious as a generation rate thereof becomes small.
The UGS of the standard technique as set forth above does not reflect the mute suppression technique of the codec, and thus is inefficient in terms of resource use. In addition, the conventional UGS/AD technique assumes that the codec with a built-in VAD generates no packets in the mute section. However, all codecs actually generate packets even in the mute section. Especially, packets generated in the mute section are small in size, unlike VoIP data packets, and a generation period thereof may not also be constant.
Due to the above, polling and resource allocation are alternately repeated when using the UGS/AD technique, and resources are wasted in that process. Further, in case the network device allocates additional resources independently around when the assonance section resumes, the SID packet generation of the subscriber device may cause unnecessary resource allocation.
Moreover, the conventional UGS and UGS/AD technique supports only a single transmission rate in the assonance section, and thus cannot effectively support a speech codec that supports the variable bit rate like EVRC. Namely, since the conventional UGS and UGS/AD technique has to set parameters to support the highest transmission rate, resource waste becomes serious in sections where packets are generated at lower transmission rates.